import { login, logout, getInfo } from '@/api/login'
import { getToken, setToken, removeToken } from '@/utils/auth'

const useUserStore = defineStore(
  'user',
  {
    state: () => ({
      token: getToken(),   // token
      userInfo: {}  // 用户资料
    }),
    actions: {
      // 登录 
      async login(userInfo) {
        // 调用API下面的登录的请求方法，发起登录请求
        let res = await login(userInfo)
        // 获取到了token，设置给state
        this.token = res
        // 存储起来到本地
        setToken(res)
      },
      // 获取用户信息
      async getInfo() {
        let res = await getInfo()
        this.userInfo = res
        return res
      },
      // 退出系统
      async logOut() {
        let res = await logout()
        // 如果我们要拿到res里面的数据
        console.log(res);
        removeToken()
        this.token = ''
        this.userInfo = {}
      }
    }
  })

export default useUserStore
